﻿Friend Interface iDBInfo
    ReadOnly Property ConnectionName As String

    ReadOnly Property Connection As IDbConnection
    Property CommandTimeout As Integer
    ReadOnly Property Type As DBInfo.DBInfoType
    ReadOnly Property ConnectionInfo As PSObject

    Function GetCommand(query As String, Optional parameters As Hashtable = Nothing) As IDbCommand
    Function GetCommand(query As String, commandTimeout As Integer, Optional parameters As Hashtable = Nothing) As IDbCommand
    Function GetParameter() As IDataParameter
    Function GetDataSet(cmd As IDbCommand) As DataSet
    Function CreateMap(dt As DataTable) As Generic.List(Of DBInfo.Map)

    Function BulkLoad(dataReader As IDataReader, destinationTable As String, columnMap As Hashtable, batchSize As Integer, batchTimeout As Integer, notify As Action(Of Integer)) As Long

    Function GetMessage() As PSObject
    Sub ClearMessages()
    ReadOnly Property HasMessages As Boolean

    Sub BeginTransaction()
    Sub RollbackTransaction(Optional silent As Boolean = False)
    Sub CommitTransaction()
    Sub AttachTransaction(command As IDbCommand)

End Interface